// var i;
// var s = cc._decorator;
// var c = s.ccclass;
// var l =
//     (s.property,
//     (function (e) {
//         function t() {
//             var t = (null !== e && e.apply(this, arguments)) || this;
//             t.chuli_load_hanshu = null;
//             t.chuli_destory_hanshu = null;
//             t.chuli_enabeld_hanshu = null;
//             t.chuli_disabled_hanshu = null;
//             return t;
//         }
//         __extends(t, e);
//         t.prototype.onLoad = function () {
//             if (this.chuli_load_hanshu) {
//                 this.chuli_load_hanshu();
//             }
//         };
//         t.prototype.onEnable = function () {
//             if (this.chuli_enabeld_hanshu) {
//                 this.chuli_enabeld_hanshu();
//             }
//         };
//         t.prototype.onDisable = function () {
//             if (this.chuli_disabled_hanshu) {
//                 this.chuli_disabled_hanshu();
//             }
//         };
//         t.prototype.onDestroy = function () {
//             if (this.chuli_destory_hanshu) {
//                 this.chuli_destory_hanshu();
//             }
//         };
//         return __decorate([c], t);
//     })(cc.Component));
// exports.default = l;


// 引入Cocos Creator的装饰器
const { ccclass, property } = cc._decorator;

/**
 * 自定义组件类，继承自cc.Component
 */
@ccclass
class CustomComponent extends cc.Component {
    /**
     * 组件加载函数指针
     * @type {Function|null}
     */
    chuli_load_hanshu = null;

    /**
     * 组件销毁函数指针
     * @type {Function|null}
     */
    chuli_destory_hanshu = null;

    /**
     * 组件启用函数指针
     * @type {Function|null}
     */
    chuli_enabeld_hanshu = null;

    /**
     * 组件禁用函数指针
     * @type {Function|null}
     */
    chuli_disabled_hanshu = null;

    /**
     * 生命周期方法：组件加载时调用
     */
    onLoad() {
        if (this.chuli_load_hanshu) {
            // 调用用户自定义加载函数
            this.chuli_load_hanshu();
        }
    }

    /**
     * 生命周期方法：组件启用时调用
     */
    onEnable() {
        if (this.chuli_enabeld_hanshu) {
            // 调用用户自定义启用函数
            this.chuli_enabeld_hanshu();
        }
    }

    /**
     * 生命周期方法：组件禁用时调用
     */
    onDisable() {
        if (this.chuli_disabled_hanshu) {
            // 调用用户自定义禁用函数
            this.chuli_disabled_hanshu();
        }
    }

    /**
     * 生命周期方法：组件销毁时调用
     */
    onDestroy() {
        if (this.chuli_destory_hanshu) {
            // 调用用户自定义销毁函数
            this.chuli_destory_hanshu();
        }
    }
}

// 导出自定义组件作为默认模块
exports.default = CustomComponent;